#!/bin/bash

# 网络连接检查函数
check_network() {
    ifconfig
}

# 检查并创建tmux session函数
create_tmux_session() {
    local session_name=$1
    local command=$2
    
    # 检查tmux session是否已存在
    if tmux has-session -t "$session_name" 2>/dev/null; then
        echo "tmux session '$session_name' 已存在，先关闭它"
        tmux kill-session -t "$session_name"
    fi
    
    # 创建新的tmux session并运行命令
    echo "启动tmux session: $session_name"
    tmux new-session -d -s "$session_name" "$command"
}

# 主函数
main() {
    echo "开始执行启动脚本..."
    
    # 1. 等待网络连接
    check_network
    
    # 2. 启动roscore
    echo "启动roscore..."
    create_tmux_session "s_core" "source /opt/ros/noetic/setup.bash && roscore"
    
    # 等待roscore启动
    sleep 3
    
    # 3. 启动运控接口
    echo "启动运控接口..."
    create_tmux_session "s_control" "bash bridge.bash"
    
    # 4. 启动导航接口
    echo "启动导航接口..."
    create_tmux_session "s_navigation" "bash launch_nav.bash"
    
    echo "所有服务已启动完成!"
    echo "当前运行的tmux session:"
    tmux list-sessions
    
    echo ""
    echo "可以使用以下命令查看各个session:"
    echo "  tmux attach -t s_core     # 查看roscore"
    echo "  tmux attach -t s_control  # 查看运控接口"
    echo "  tmux attach -t s_navigation # 查看导航接口"
    echo "  tmux detach               # 退出当前session(按Ctrl+B, 然后按D)"
}

# 执行主函数
main